|
Cytosim
PI
Cytoskeleton Simulator
|
Public Member Functions | |
| Simul () | |
| constructor | |
| virtual | ~Simul () |
| destructor | |
| void | add (Object *) |
| link Object | |
| int | add (ObjectList) |
| link Objects | |
| void | remove (Object *) |
| unlink Object | |
| void | remove (ObjectList) |
| unlink Objects | |
| void | erase (Object *) |
| unlink and delete object | |
| void | erase (ObjectList) |
| unlink and delete all objects in list | |
| void | mark (ObjectList, int) |
| mark objects in list | |
| void | erase () |
| erase simulation world (all sub-lists and variables) | |
| real | simTime () const |
| time in the simulated world | |
| void | setTime (real t) |
| set frame index | |
| void | initialize (Glossary &) |
| perform basic initialization; register callbacks More... | |
| void | prepare (Space *spc) |
| initialize the simulation engine More... | |
| void | prepare () |
| initialize the simulation engine using the current space | |
| bool | isReady () const |
| returns true is the simulation is ready to run (or appears so) | |
| void | relax () |
| call after a sequence of step() have been done | |
| void | space (Space *spc) |
| set current Space More... | |
| Space * | space () const |
| get current Space | |
| Space * | firstSpace (const std::string &name) |
| return first Space with this name | |
| void | foldPosition () const |
| call foldPosition() for all objects | |
| void | step () |
| perform the Monte-Carlo part of the simulation for one time_step | |
| void | solve () |
| calculate the mechanics of the system and move objects accordingly, for one time_step | |
| void | calculateForces () const |
| calculate Forces and Lagrange multipliers, but do not move objects | |
| void | dump () const |
| dump matrix and vector from Meca | |
| void | setInteractions (Meca &) const |
| call setInteractions(meca) for all objects More... | |
| ObjectSet * | findSet (const std::string &kind) |
| return the ObjectSet corresponding to a class | |
| ObjectSet const * | findSet (const std::string &kind) const |
| return the ObjectSet corresponding to a class | |
| Object * | findObject (const Tag, long) |
| find an object from the class-TAG and the inventory number | |
| Object * | findObject (const std::string &, long) const |
| find an object from the name of its class and the inventory number | |
| Fiber * | findFiber (long num) const |
| find a fiber from the name of the fiber | |
| Object * | readReference (InputWrapper &, char &tag) |
read an Object reference and return the corresponding Object (tag is set) More... | |
| bool | isProperty (const std::string &) const |
| check if the name corresponds to a property class | |
| Property * | findProperty (const std::string &, const std::string &) const |
| get an existing property, or return zero | |
| Property * | findProperty (const std::string &, const int index) const |
| get an existing property, or return zero | |
| SingleProp * | findSingleProp (const std::string &nm) const |
| find a SingleProp | |
| PropertyList | findProperties (const std::string &) const |
| return all existing propertis of required class | |
| Property * | newProperty (const std::string &, const std::string &, Glossary &) |
| create a new property | |
| void | writeProperties (std::ostream &, bool prune) const |
| write all properties More... | |
| void | writeProperties (std::string &file, bool prune) const |
| write sim-state to a named file More... | |
| int | readObjects (InputWrapper &) |
| read sim-state from InputWrapper More... | |
| int | readObjects (std::string const &file) |
| read sim-state from a named file More... | |
| void | writeObjects (OutputWrapper &) const |
| write simulation-state to specified file | |
| void | writeObjects (std::string const &file, bool binary, bool append) const |
| write simulation-state in binary or text mode, appending to the file or not More... | |
| void | report (std::ostream &, std::string const &str, Glossary &) const |
| call one of the report function More... | |
| void | report (std::ostream &, std::string const &what, std::string const &who, Glossary &) const |
| call one of the report function More... | |
| void | reportTime (std::ostream &) const |
| print time | |
| void | analyzeClusters () const |
| analyse the network connectivity to identify isolated sub-networks More... | |
| void | reportClusters (std::ostream &, bool) const |
| print size of clusters defined by connections with Couples More... | |
| void | reportFiber (std::ostream &) const |
| print the length and the points of each fiber More... | |
| void | reportFiberPoints (std::ostream &) const |
| print the coordinates of the model-points of each fiber More... | |
| void | reportFiberForces (std::ostream &) const |
| print the coordinates and forces on the model-points of each fiber More... | |
| void | reportFiberEnds (std::ostream &) const |
| print the positions and the states of the two ends of each fiber More... | |
| void | reportFiberLengths (std::ostream &) const |
| print average length and standard deviation for each class of fiber More... | |
| void | reportFiberLengthDistribution (std::ostream &, real delta, real max) const |
| print length distribution for each class of fiber More... | |
| void | reportFiberSegments (std::ostream &) const |
| print number of kinks in each class of Fiber | |
| void | reportFiberDynamic (std::ostream &, FiberEnd) const |
| print number of fibers according to dynamic state of end More... | |
| void | reportFiberDynamic (std::ostream &) const |
| print number of fibers according to their dynamic states More... | |
| void | reportFiberSpeckles (std::ostream &, real) const |
| print coordinates of points along the length of all Fiber More... | |
| void | reportFiberStates (std::ostream &) const |
| print dynamic states of Fiber | |
| void | reportFiberTension (std::ostream &, Glossary &opt) const |
print Fiber tensions along certain planes defined in opt More... | |
| void | reportOrganizer (std::ostream &) const |
| print Aster positions More... | |
| void | reportBeadSingles (std::ostream &) const |
| print Bead positions More... | |
| void | reportBeadPosition (std::ostream &) const |
| print Bead positions More... | |
| void | reportSolid (std::ostream &) const |
| print Solid positions More... | |
| void | reportCouple (std::ostream &) const |
| print state of Couples More... | |
| void | reportCouplePosition (std::ostream &) const |
| print position of Couples More... | |
| void | reportCouplePosition (std::ostream &, std::string const &) const |
| print position of Couples of a certain kind More... | |
| void | reportSingle (std::ostream &) const |
| print state of Singles More... | |
| void | reportSinglePosition (std::ostream &) const |
| print position of Singles More... | |
| void | reportSingleForce (std::ostream &) const |
| print position of Singles More... | |
| void | reportSinglePosition (std::ostream &, std::string const &) const |
| print position of Singles of a certain kind More... | |
| void | reportSphere (std::ostream &) const |
| print state of Couples More... | |
| void | reportSpace (std::ostream &) const |
| print something about Spaces More... | |
| void | reportCustom (std::ostream &) const |
| print something More... | |
| void | custom0 () |
| custom function | |
| void | custom1 () |
| custom function | |
| void | custom2 () |
| custom function | |
| void | custom3 () |
| custom function | |
| void | custom4 () |
| custom function | |
| void | custom5 () |
| custom function | |
| void | custom6 () |
| custom function | |
| void | custom7 () |
| custom function | |
| void | custom8 () |
| custom function | |
| void | custom9 () |
| custom function | |
Public Attributes | |
| SimulProp * | prop |
| Global cytosim parameters. | |
| PropertyList | properties |
| holds all Property, except the SimulProp | |
| SpaceSet | spaces |
| list of Space | |
| FieldSet | fields |
| list of Field | |
| FiberSet | fibers |
| list of Fiber | |
| SphereSet | spheres |
| list of Sphere | |
| BeadSet | beads |
| list of Bead | |
| SolidSet | solids |
| list of Solid | |
| SingleSet | singles |
| list of Single | |
| CoupleSet | couples |
| list of Couple | |
| OrganizerSet | organizers |
| list of organizers | |
| void analyzeClusters | ( | ) | const |
Set Fiber::fleck to indicated Fibers that are connected by Couple.
The clusters are defined by the Couple that are bridging Fibers: Two fibers are in the same cluster if there is a Couple connecting them, of if they can be indirectly connected in this way via other Fibers.
This analysis can be useful to identify mechanically isolated sub-networks in the simulation. The result can be visualized in play with the option fiber:coloring=4, and it can also be printed with the tool report fiber:cluster
| void initialize | ( | Glossary & | glos | ) |
This will initialize the simulation by registering callbacks. You should still call Simul::prepare() before calling step()
| void prepare | ( | Space * | spc | ) |
| int readObjects | ( | InputWrapper & | in | ) |
Before reading, all objects are transfered to a secondary list called 'ice'. Every object encountered in the file is updated, and then transferred back to the normal list.
When the read is complete, the objects that are still on 'ice' are deleted. In this way the new state reflects exactly the system that was read from file.
| int readObjects | ( | std::string const & | file | ) |
Create an InputWrapper and calls readObjects(in)
| Object * readReference | ( | InputWrapper & | in, |
| char & | tag | ||
| ) |
| void report | ( | std::ostream & | out, |
| std::string const & | str, | ||
| Glossary & | opt | ||
| ) | const |
| void report | ( | std::ostream & | out, |
| std::string const & | what, | ||
| std::string const & | who, | ||
| Glossary & | opt | ||
| ) | const |
| WHAT | output |
|---|---|
organizer | Position of the center of asters and other organizers |
bead | Position of beads |
couple | Number and state of couples |
fiber | Length and position of the ends of fibers |
single | Number and state of singles |
solid | Position of center and first point of solids |
sphere | Position of center and first point of spheres |
time | Time |
parameters | All object properties |
| WHAT:WHO | output |
|---|---|
fiber:lengths | Average length and standard deviation of fibers |
fiber:dynamics | Number of fiber classified by PLUS_END Dynamic state |
fiber:points | coordinates of model points of all fibers |
fiber:speckles | coordinates of points randomly distributed along all fibers |
fiber:segments | information about lengths of segments, number of kinks |
fiber:ends | Positions and dynamic states of all fiber ends |
fiber:forces | Position of model points and Forces acting on model points |
fiber:tensions | Internal stress along fibers |
fiber:clusters | Clusters made of fibers connected by Couples |
bead:all | Position of beads |
bead:singles | Number of Beads with no single attached, 1 single attached etc. |
single:all | Position and force of singles |
single:NAME | Position of singles of class NAME |
couple:all | Position of couples |
couple:NAME | Position of couples of class NAME |
| void reportBeadPosition | ( | std::ostream & | out | ) | const |
Export position of Beads
| void reportBeadSingles | ( | std::ostream & | out | ) | const |
Export number of beads classified as a function of the number of grafted Single that are attached to Fibers
| void reportClusters | ( | std::ostream & | out, |
| bool | details | ||
| ) | const |
Export size of clusters found by Simul::analyzeClusters()
| void reportCouple | ( | std::ostream & | out | ) | const |
Export state of Couples
| void reportCouplePosition | ( | std::ostream & | out | ) | const |
Export position of Couples
| void reportCouplePosition | ( | std::ostream & | out, |
| std::string const & | who | ||
| ) | const |
Export position of Couples of a certain kind
| void reportCustom | ( | std::ostream & | out | ) | const |
Export end-to-end distance of Fiber
| void reportFiber | ( | std::ostream & | out | ) | const |
Export length, position and directions at center of fibers
| void reportFiberDynamic | ( | std::ostream & | out, |
| FiberEnd | end | ||
| ) | const |
Export number of fiber, classified according to dynamic state of one end
| void reportFiberDynamic | ( | std::ostream & | out | ) | const |
Export number of fiber, classified according to dynamic state of one end
| void reportFiberEnds | ( | std::ostream & | out | ) | const |
Export dynamic state, positions and directions of fiber ends
| void reportFiberForces | ( | std::ostream & | out | ) | const |
Export Fiber-number, position of model points
Export average length and standard-deviation for each class of fiber
| void reportFiberLengths | ( | std::ostream & | out | ) | const |
Export average length and standard-deviation for each class of fiber
| void reportFiberPoints | ( | std::ostream & | out | ) | const |
Export Fiber-number, position of model points
| void reportFiberSpeckles | ( | std::ostream & | out, |
| real | spread | ||
| ) | const |
Export positions of points taken randomly along all fibers, but that remain static with respect to the lattice of each fiber, during the life-time of this fiber.
This is meant to simulate the speckle microscopy that is obtained in microcscopy with a low amount of fluorescent-monomers.
The distance between the speckles follows an exponential distribution with an average defined by the parameter spread.
| void reportFiberTension | ( | std::ostream & | out, |
| Glossary & | opt | ||
| ) | const |
Sum of the internal tensions from fiber segments that intersect a plane specified in opt. The plane is defined by n.x + a = 0
| void reportOrganizer | ( | std::ostream & | out | ) | const |
Export position of Asters and other organizers
| void reportSingle | ( | std::ostream & | out | ) | const |
Export state of Single
| void reportSingleForce | ( | std::ostream & | out | ) | const |
Export position of Singles
| void reportSinglePosition | ( | std::ostream & | out | ) | const |
Export position of Singles
| void reportSinglePosition | ( | std::ostream & | out, |
| std::string const & | who | ||
| ) | const |
Export position of Singles
| void reportSolid | ( | std::ostream & | out | ) | const |
Export position of Solids
| void reportSpace | ( | std::ostream & | out | ) | const |
Export something about Space
| void reportSphere | ( | std::ostream & | out | ) | const |
Export position of Sphere
| void setInteractions | ( | Meca & | meca | ) | const |
| void space | ( | Space * | spc | ) |
set current Space to spc. (zero is a valid argument).
This also set the space of all objects to spc.
| void writeObjects | ( | std::string const & | file, |
| bool | binary, | ||
| bool | append | ||
| ) | const |
This appends the current state to a trajectory file. Normally, this is objects.cmo in the current directory.
If the file does not exist, it is created de novo.
| void writeProperties | ( | std::ostream & | os, |
| bool | prune | ||
| ) | const |
The order of the output is important, since some properties depend on others (eg. SingleProp and CoupleProp use HandProp). Luckily, there is no circular dependency in Cytosim at the moment.
Thus we simply follow the order in which properties were defined, and which is the order in which properties appear in the PropertyList.
| void writeProperties | ( | std::string & | file, |
| bool | prune | ||
| ) | const |
At the first call, this will write all properties to file, and save a copy of what was written to a string properties_saved.
The next time this is called, the properties will be compared to the string, and the file will be rewritten only if there is a difference.